//同时发送异步代码的次数
//用于防止异步请求中先请求完数据的请求将'加载中'图标关闭
//做到所有异步请求完成后再关闭
let ajaxTimes = 0;

export const request = (params) => {
    ajaxTimes++;
    //发送请求前显示'加载中'
    wx.showLoading({
        title: '加载中',
        mask: true
    });
    //公共url
    const baseUrl = "https://guide.hpaitech.cn/api/v13/wx3"; // "https://guide.smart-park.nnweather.com/api/v1/wx"// "http://localhost:8080/api/v1/wx"; //"https://www.liulingyun.top:8080";   //https://192.168.177.1:8080
    return new Promise((resolve, reject) => {
        wx.request({
            //...params,
            url: baseUrl + params.urlLeft,
            data: params.data,
            method: params.method || 'GET',
            timeout: 10000, // 设置10秒超时
            header: Object.assign({
                'content-type': 'application/json' // 默认值
            }, params.header || {}),
            success: (result) => {
                console.log('请求成功：', result);
                resolve(result);
            },
            fail: (err) => {
                console.error('请求失败：', err);
                reject(err);
            },
            //complete无论请求成功或失败都会执行
            complete: () => {
                ajaxTimes--;
                if (ajaxTimes === 0) {
                    //关闭'加载中'图标
                    wx.hideLoading();
                }
            }
        });
    })
}